In a shared virtualized storage system that runs virtual machines (VMs) with heterogeneous I/O demands, it becomes a critical problem for the system to cost-effectively partition and allocate cache resources among multiple VMs. Heterogeneous VMs may have cross-VM impacts when sharing local cache resources and backend storage arrays.
A need remains for a way to more accurately predict VM workload changes and to track cache gains from past partition solutions.